package liming.ai.deepseek.r1;

import liming.tool.json.ToJson;
import liming.tool.json.annotation.JsonMark;
import liming.tool.json.annotation.JsonPermission;

@JsonMark("deepseek-r1")
public class DeepSeekConfig implements ToJson {
    @JsonMark
    public Header header;
    @JsonMark
    public Body body;


    public static class Header implements ToJson{
        @JsonMark
        public String apiKey;
        @JsonMark
        public String apiUrl = "https://api.deepseek.com/chat/completions";
    }

    public static class Body implements ToJson{
        @JsonMark(permissions = JsonPermission.Getter)
        public String model="deepseek-reasoner";
        @JsonMark
        public double frequency_penalty = 0.0;
        @JsonMark
        public int max_tokens = 1024*8-1;
        @JsonMark
        public double presence_penalty = 0.0;
        @JsonMark
        public boolean stream = true;
        @JsonMark
        public double temperature = 0.7;
        @JsonMark
        public double top_p = 1.0;
    }

}
